1. Field of Invention
The invention generally relates to distributed processing, and, more particularly, to generating a display having graphical and/or media components at a client.
2. Description of Prior Art
A thin-client protocol is used for displaying output, produced by an application running on a server, on a client with limited processing capabilities. Two exemplary thin client protocols are ICA, Independent Computing Architecture from Citrix Systems, Inc., Ft. Lauderdale, Fla. and RDP, Remote Desktop Protocol from Microsoft, Inc., Redmond, Wash. The client is also sometimes referred to as a remote terminal session. One thin-client protocol intercepts commands by the application program to the server operating system (“OS”) to draw to a display screen. The intercepted commands are transmitted to the remote session using, for example, one or more presentation layer packets. When the remote session (e.g., thin-client) receives the command, the remote session passes the received commands to the remote session OS. The thin-client draws the application program output on its display using the received commands. In this manner, the application program appears to be executing on the thin-client.
Typically, when the application program draws images to the display screen, the image is represented as a bitmap. A bitmap format of an image is generally a very large data set. Thus, the thin-client protocol must transmit over the network the bitmap representation of an image, which is a large amount of data, along with the applicable commands on how to display the bitmap representation. For networks of low bandwidth, this results in a large time delay before the complete image is received and displayed on the client. This can result in inconvenience and unhappiness for the user of the client. Also, if the user is paying directly for bandwidth used, for example in a wireless network, transmission of these large bitmap formats results in large costs associated with each transmission.
A similar problem exists when the application program renders a media presentation. Typically, a video file is rendered as a series of bitmaps and audio information is rendered using pulse code modulation. Accordingly, the thin-client protocol transmits the series of bitmaps representing the video file and/or the pulse code modulated signal representing the audio information over the network. This transmission is inefficient, requiring excessive bandwidth and significant CPU usage. Moreover, even where sufficient bandwidth is available, an unresponsive graphical user interface may result at the client. Video playback, for example, is often of low quality, may appear “jerky,” and may synchronize poorly with the audio presentation.
There is, therefore, a need for an improved approach to rendering images and media presentations in a remote terminal session.